/*Version 1.0*/
#include <assert.h>
#include "Rectangle.h"

/* InitRectangle initialise dim (après vérification) de la structure Rectangle */
/*Precondition : Rectangle non initialisee
  Postcondition : Rectangle initialisee*/

void InitRectangle(Rectangle * rec)
{
  rec->coordoRec.x=0;
  rec->coordoRec.y=0;
  rec->contour.r=0;
  rec->contour.g=0;
  rec->contour.b=0;
  rec->fond.r=0;
  rec->fond.g=0;
  rec->fond.b=0;
  rec->dimX=0;
  rec->dimY=0;
  rec->epaisseur_contour=0;

}
/*Precondition : Rectangle initialisee*/

void CreerRectangle(Rectangle * rec,double dimX, double dimY, double epaisseur_contour, Couleur fond, Couleur contour, Coordonnees c)
{
  assert(dimX>=0 && dimY>=0 && epaisseur_contour >=0);
  assert(c.x>=0 && c.y>=0);
  rec->coordoRec.x=c.x;
  rec->coordoRec.y=c.y;
  rec->contour.r=contour.r;
  rec->contour.g=contour.g;
  rec->contour.b=contour.b;
  rec->fond.r=fond.r;
  rec->fond.g=fond.g;
  rec->fond.b=fond.b;
  rec->dimX=dimX;
  rec->dimY=dimY;
  rec->epaisseur_contour=epaisseur_contour;
}

/*Precondition : Rectangle initialisee*/
void ModifierFondRectangle(Rectangle * rec,Couleur fond)
{
  rec->fond.r=fond.r;
  rec->fond.g=fond.g;
  rec->fond.b=fond.b;
}

/*Precondition : Rectangle initialisee et la dimension est une valeur positive*/
void ModifierTailleRectangle(Rectangle * rec,double dimX, double dimY)
{
  assert(dimX>=0 && dimY>=0);
  rec->dimX=dimX;
  rec->dimY=dimY;
}

/*Precondition : Rectangle initialisee */
void ModifierContourRectangle(Rectangle * rec,double epaisseur_contour,Couleur contour)
{
  assert(epaisseur_contour>=0);
  rec->contour.r=contour.r;
  rec->contour.g=contour.g;
  rec->contour.b=contour.b;
  rec->epaisseur_contour=epaisseur_contour;
}

/*Precondition : Rectangle initialisee */
void ModifierCoordonneesRectangle(Rectangle * rec,Coordonnees c)
{
  assert(c.x>=0 && c.y>=0);
  rec->coordoRec.x=c.x;
  rec->coordoRec.y=c.y;
}
